package com.shujia.java.day11.demo3;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

/**
 *  数组长度不可变 满足不了我们的需求 java中推出了集合
 *  集合:存储数据  Java 主要是面向对象 对象就会有多个 为了方便存储和操作这些对象 java中推出了集合
 *  集合:图中多个集合(多个容器)
 *  容器:存放多个数据的东西（容器有多种）
 *
 *  Collection常用方法:
 *  增: add;
 *      addAll;
 *  删:remove;
 *     removeAll;
 *
 *     clear:清空
 *  查:
 *      size:容器中存储元素的个数
 *      contains:查找容器有没有某个元素
 *      containsAll:
 *      equals:判断内容是否==
 *
 */
public class Test {
    public static void main(String[] args) {
        //Collection 无论怎么看先把单词打出来
        Collection coll=new ArrayList();

        //创建5个学生
        Student student = new Student("张三");
        Student student1 = new Student("张三1");
        Student student2 = new Student("张三2");
        Student student3 = new Student("张三3");
        Student student4 = new Student("张三4");

        //添加元素(引用数据类型)
        //Object 是所有引用数据类型的父类
        //模拟学生添加
        coll.add("张三1");
        coll.add("张三2");
        coll.add("张三3");
        coll.add("张三4");
        coll.add("张三5");
        //说明了啥 集合基于数组 可以遍历
        System.out.println(coll);
        System.out.println("----------------------------");
        //怎么遍历  集合基于数组不是数组
        // toArray() 转化为数组进行遍历
        //返回值 Object[]
        //System.out.println(coll.toArray());
        Object[] objtecs=coll.toArray();
        for (int i=0;i<objtecs.length;i++){
            String str=(String)objtecs[i];
            //集合里面存储的是对象(引用类型)
            System.out.println(objtecs[i]+"-----"+((String)objtecs[i]).length());
        }

//        增强for遍历
//        for (Object o:coll) {
//            System.out.println(o);
//        }
    }
}
